The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
In collaborative projects, it is often useful for project members to share information with each other. One way for a project member to share information with another project member is to share an image. An image may communicate information in a variety of ways. For example, an image may depict a chart, graph, map, picture, or textual passage.
One way for a project member to produce an image to share with other project members is for the project member to utilize image generation functionality in a document authoring application. For example, a document authoring application may allow a user to generate images of charts or graphs produced in the course of working with a report document. As another example, a document authoring application may also allow a user to generate a screenshot image of information currently depicted in the application. These images may then be shared with other project members.
A common technique for sharing an image is to embed the image in another type of document, such as an email, word-processing document, PDF document, or web page. The other document may then be shared with other project members. To facilitate the embedding of images into documents, many applications feature copy-and-paste functionality. Using a copy operation in a first application, information may be placed in a buffer, such as a clipboard buffer provided by an operating system. Using a paste operation in a second application, the information may be placed in a document being edited by the second application.
Although image sharing is useful for quickly communicating a limited amount of information, a weakness of the above-described techniques is that the techniques do not provide other project members with access to any information other than the information depicted in the image. Nor does the technique allow other project members to use or edit the information depicted in the image.
For example, a first project member may use a document authoring application to create a reporting document with very detailed data regarding stock prices over the course of several years. Using the document authoring application, the project member may then produce an image of a graph that summarizes the detailed data. The first project member may then share that image with other project members. While the other project members would be able to quickly interpret the summary information depicted in the graph, the other project members would be unable to access the more detailed data stored in the reporting document.
One solution to this problem would be for the first project member to send the reporting document to the other project members instead of the image. However, this solution has several drawbacks. First, the solution creates unnecessary copies of the reporting document. The unnecessary copies waste space, create security risks, and introduce potential data synchronization problems. Second, without sharing the image, the first project member loses the benefit of the image's efficiency in quickly communicating an overview of the information in the reporting document. Third, the solution is more labor-intensive for the first project member, since the solution requires the first project member to locate the reporting document in a file system so that it can be attached to an email or otherwise sent to the other project members.
Where the reporting document is available at a shared resource, such as a shared file system or web server, the first project member might instead share with other project members a link to the reporting document at the shared resource. However, while this strategy avoids the problem of unnecessary copies, the strategy is still vulnerable to the other two drawbacks discussed above. Moreover, this strategy may be problematic in that many users do not know how to share a link to a document stored on a shared resource.
Of course, the first project member may generate an image, paste the image into the other document, determine an appropriate link, and then paste that link into the other document. However, this technique further increases the work required of the first project member in sharing their information.
Yet another difficulty in communicating information via images is that images such as screenshots typically lack context. Without context, it is sometimes difficult to understand the significance of an image. For example, software applications such as the Palantir Finance client may display complicated GUIs with numerous controls, graphics, and other information. If a user wishes to communicate information about a trend that the user observed in a graph appearing in just a small corner of the GUI, the user would still be required to take a screenshot of the entire GUI. Another user looking at the screenshot may be unable to discern which part of the screenshot was relevant to the information the first user had intended to communicate.
One workaround for this problem would be to paste the screenshot into an external image editor and crop the screenshot. Another workaround would be to annotate the screenshot directly in the external image editor. The user may then send the cropped or annotated image to others. However, such workarounds are cumbersome. Moreover, such workarounds would be unavailable to one relying on the sharing mechanisms proposed by Applicants in “Collaborative Interface Enhancements.”
Another difficulty in communicating information via screenshots is that it is sometimes impossible to take a screenshot of certain aspects of a GUI. For example, one may desire to take a screenshot of a pop-up window, pull-down box, or auto-complete box. Yet the very user input required to cause an operating system or application to take a screenshot may also cause the pop-up window, pull-down box, or auto-complete box to disappear. In the Microsoft Windows operating system, for example, the keystroke combination ALT-PRINT SCREEN is required to take a screenshot of an application window. However, the ALT key will often cause a pop-up window or pull-down box to disappear before the ALT-PRINT SCREEN keystroke combination is registered by the operating system.